package com.totoro.motan.demo.properties;

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * 注册中心配置。用于配置注册中心的注册协议、地址端口、超时时间等。
 * <motan:registry id="" name="" regProtocol="zookeeper"  address=""/>
 * Created by Niki on 2018/5/23 20:19
 */

@Configuration
@ConfigurationProperties(prefix = "motan.registry")
@Getter
@Setter
public class RegistryConfigProperties {
    /**
     * 注册配置名称
     */
    private String name;

    /**
     * 注册协议
     */
    private String regProtocol;

    /**
     * 注册中心地址
     */
    private String address;

    /**
     * 注册中心端口
     */
    private Integer port;

    /**
     * 注册中心连接超时时间 (millisecond), default 1000
     */
    private Integer connectTimeout;

    /**
     * 注册中心请求超时时间 (millisecond), default 200
     */
    private Integer requestTimeout;

    /**
     * 注册中心会话超时时间 (millisecond), default 60 * 1000
     */
    private Integer registrySessionTimeout;

    /**
     * 失败后重试的时间间隔 (millisecond), default 30 * 1000
     */
    private Integer registryRetryPeriod;

    /**
     * 启动时检查失败后是否仍然启动, default true
     */
    private String check;

    /**
     * 在该注册中心上服务是否暴露, default true
     */
    private Boolean register;

    /**
     * 在该注册中心上服务是否引用, default true
     */
    private Boolean subscribe;

    /**
     * 是否缺省的配置
     */
    private Boolean defaultConfig;
}
